#ifndef TRIANGULARPRISM_H
#define TRIANGULARPRISM_H

#include "icgobject.h"

class TriangularPrism : public ICgObject
{
public:
    TriangularPrism();

    bool intersect(const Ray &r, double &t, Vector &normal) const;
    void openGlRender() const;
    ICgObject* clone() const;

private:
    bool intersectFaces(const Ray &r, double &t, Vector &normal) const;
    bool intersectBasis(const Ray &r, double &t, Vector &normal) const;
};

#endif // TRIANGULARPRISM_H
